package com.study.english.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.study.english.pojo.vo.SysConfigVo;
import com.study.english.result.Result;
import com.study.english.service.ISysConfigService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

import com.study.english.domain.SysConfig;

import org.springframework.web.bind.annotation.*;

/**
 * @author wf
 * @description 针对表【sys_config】的数据库操作Controller
 * @createDate 2024-03-11 15:56:34
 */
@RestController
@RequestMapping("sysConfig")
public class SysConfigController {

    @Autowired
    private ISysConfigService sysConfigService;


    /**
     * 新增:
     */
    @PostMapping("addSysConfig")
    public Result addSysConfig(@RequestBody SysConfigVo sysConfigVo) {
        sysConfigService.addSysConfig(sysConfigVo);
        return Result.success();

    }


    /**
     * 分页查询:
     */
    @PostMapping("getSysConfigPageList")
    public Result getSysConfigPageList(@RequestBody SysConfigVo sysConfigVo) {

        IPage<SysConfigVo> page = new Page<>(sysConfigVo.getPageNum(), sysConfigVo.getPageSize());
        IPage<SysConfigVo> list = sysConfigService.getSysConfigPageList(page, sysConfigVo);
        return Result.success(list);
    }


    /**
     * 不分页查询:
     */

    @PostMapping("getSysConfigList")
    public Result getSysConfigList(@RequestBody SysConfigVo sysConfigVo) {
        List<SysConfigVo> sysConfigVoList = sysConfigService.getSysConfigList(sysConfigVo);

        return Result.success(sysConfigVoList);
    }

    /**
     * 根据id查询详情:
     */

    @GetMapping("getSysConfigById")
    public Result getSysConfigById(@RequestParam String id) {
        SysConfig sysConfig = sysConfigService.getSysConfigById(id);
        return Result.success(sysConfig);
    }

    /**
     * 根据id删除:
     */
    @GetMapping("delSysConfig")
    public Result delSysConfig(@RequestParam String id) {
        sysConfigService.delSysConfig(id);
        return Result.success();
    }


    /**
     * 修改:
     */
    @PostMapping("updateSysConfig")
    public Result updateSysConfig(@RequestBody SysConfigVo sysConfigVo) {
        sysConfigService.updateSysConfig(sysConfigVo);
        return Result.success();

    }
}
